Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FTheoryTools] Implement "ambient_space_models_of_g4_fluxes" #4268

Merged
merged 3 commits into from
Nov 2, 2024

Conversation

HereAround
Copy link
Member

@HereAround HereAround commented Nov 2, 2024

See the doc string for more details. Hopefully, this is sufficiently clear.

I have taken the liberty to profile this new function a lot, since we want to showcase this very soon (or so I believe). For the doctest example g4_amb_list = ambient_space_models_of_g4_fluxes(qsm_model, check = false); I found:

  • My first working implementation: About 1.5 * 10^6 allocs.
  • Current implementation: Only about 24,000 allocs.

The main improvement came from a more efficient identification of remaining_vars_list, but there were quite a number of other tricks I employed. Overall, I am very happy with these improvements.

@apturner @emikelsons You may find it entertaining that for "the" big model, I expect that ambient_space_models_of_g4_fluxes completes in no more than 10 minutes on most personal computers. On mine, even only about 5 to 6 minutes. (The first run will of course always be somewhat slower...)

@HereAround HereAround added topic: FTheoryTools enhancement New feature or request labels Nov 2, 2024
@HereAround HereAround force-pushed the CheckTrivialRestrictions branch 2 times, most recently from 39f340f to ae37641 Compare November 2, 2024 11:12
@HereAround
Copy link
Member Author

HereAround commented Nov 2, 2024

A few more numbers for "the" big model @apturner @emikelsons :

  • b_4(X_Sigma) = 815, X_Sigma the toric ambient space of the resolved model. So we have H^(2,2) \cong Q^815, and this would be our "naive" basis for G4-flux candidates.
  • The newly introduced method in this PR identifies 629 basis elements of H^(2,2) which restrict - most likely - non-trivially to Y^4.

For details on what I mean by "most likely", see the changes in g4.md.

@emikelsons
Copy link
Collaborator

emikelsons commented Nov 2, 2024

Calling the new method on the SU(5)xU(1) restricted Tate model leads to an error, the following code reproduces the error:
julia> B3 = projective_space(NormalToricVariety, 3)
Normal toric variety

julia> Kbar = anticanonical_divisor_class(B3)
Divisor class on a normal toric variety

julia> t = literature_model(arxiv_id = "1109.3454",
equation = "3.1", base_space = B3, defining_classes = Dict("w"=>Kbar));
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!

julia> ambient_space_models_of_g4_fluxes(t, check = false);

@emikelsons
Copy link
Collaborator

I think the problem lies on line 137 of the basis_of_h22 code, where an error occurs, if remaining_relations are empty

@HereAround
Copy link
Member Author

HereAround commented Nov 2, 2024

Calling the new method on the SU(5)xU(1) restricted Tate model leads to an error, the following code reproduces the error: julia> B3 = projective_space(NormalToricVariety, 3) Normal toric variety

julia> Kbar = anticanonical_divisor_class(B3) Divisor class on a normal toric variety

julia> t = literature_model(arxiv_id = "1109.3454", equation = "3.1", base_space = B3, defining_classes = Dict("w"=>Kbar)); Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!

julia> ambient_space_models_of_g4_fluxes(t, check = false);

Good catch. Thank you!

I think the problem lies on line 137 of the basis_of_h22 code, where an error occurs, if remaining_relations are empty

Indeed, I did not catch the case for which there are no remaining relations. 9e586c0 should fix this.

Copy link
Collaborator

@emikelsons emikelsons left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Copy link

codecov bot commented Nov 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.47%. Comparing base (2814275) to head (ed02e4e).
Report is 3 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4268   +/-   ##
=======================================
  Coverage   84.47%   84.47%           
=======================================
  Files         641      641           
  Lines       85394    85427   +33     
=======================================
+ Hits        72133    72168   +35     
+ Misses      13261    13259    -2     
Files with missing lines Coverage Δ
...al/FTheoryTools/src/G4Fluxes/special_attributes.jl 97.08% <100.00%> (+4.23%) ⬆️

@HereAround HereAround merged commit aea00d0 into oscar-system:master Nov 2, 2024
29 checks passed
@HereAround HereAround deleted the CheckTrivialRestrictions branch November 2, 2024 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants